package com.ruoyi.common.core.domain.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 车辆管理对象 gw_booking
 *
 * @author ruoyi
 * @date 2024-07-24
 */
@Data
public class GwBooking extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号，自增ID */
    private Long bookingId;

    /** 车牌号 */
    @Excel(name = "车牌号")
    private String carNum;

    /** 车辆类型 （1:重车、2:空车） */
    @Excel(name = "车辆类型 ", readConverterExp = "1=:重车、2:空车")
    private Long carType;

    /** 粮食类型 (1：稻谷、2：小麦、3：大米、4：油） */
    @Excel(name = "粮食类型 (1：稻谷、2：小麦、3：大米、4：油）")
    private Long foodType;

    /** 到达时段 （1:上午、2:下午） */
    @Excel(name = "到达时段 ", readConverterExp = "1=:上午、2:下午")
    private Long arriveDateType;

    /** 到达日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到达日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arriveDate;

    /** 绑定用户ID */
    @Excel(name = "绑定用户ID")
    private Long userId;

    /** 用户名字 */
    @Excel(name = "用户名字")
    private String userName;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String identityNumber;

    /** 照片文件路径 */
    @Excel(name = "照片文件路径")
    private String idcardUrlA;

    /** 照片文件路径 */
    @Excel(name = "照片文件路径")
    private String idcardUrlB;

    /** 个人信息ID */
    @Excel(name = "个人信息ID")
    private Long personalId;

    /** 车辆ID */
    @Excel(name = "车辆ID")
    private Long carId;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 预约号码 */
    @Excel(name = "预约号码")
    private String bookingNum;

    /** 状态：1=待叫号, 2=待确认, 3=纤样，4=过磅（完成） */
    @Excel(name = "状态：0=待叫号, 1=待确认, 2=纤样，3=过磅", readConverterExp = "完=成")
    private Long status;

    /** 取号类型： 1=预约取号, 2=现场取号 */
    @Excel(name = "取号类型： 1=预约取号, 2=现场取号")
    private Long bookingStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 号码状态：0=待取号，1=已取号, 2=已过期 */
    @Excel(name = "号码状态：0=待取号，1=已取号, 2=已过期")
    private Long numStatus;

    /** 取号号码 */
    @Excel(name = "取号号码")
    private String takeNum;

    public String phoneNumber;
    private String arriveDates;
    private Integer type;//1=最新消息，2=历史记录

    public void setBookingId(Long bookingId)
    {
        this.bookingId = bookingId;
    }

    public Long getBookingId()
    {
        return bookingId;
    }
    public void setCarNum(String carNum)
    {
        this.carNum = carNum;
    }

    public String getCarNum()
    {
        return carNum;
    }
    public void setCarType(Long carType)
    {
        this.carType = carType;
    }

    public Long getCarType()
    {
        return carType;
    }
    public void setFoodType(Long foodType)
    {
        this.foodType = foodType;
    }

    public Long getFoodType()
    {
        return foodType;
    }
    public void setArriveDateType(Long arriveDateType)
    {
        this.arriveDateType = arriveDateType;
    }

    public Long getArriveDateType()
    {
        return arriveDateType;
    }
    public void setArriveDate(Date arriveDate)
    {
        this.arriveDate = arriveDate;
    }

    public Date getArriveDate()
    {
        return arriveDate;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setIdentityNumber(String identityNumber)
    {
        this.identityNumber = identityNumber;
    }

    public String getIdentityNumber()
    {
        return identityNumber;
    }
    public void setIdcardUrlA(String idcardUrlA)
    {
        this.idcardUrlA = idcardUrlA;
    }

    public String getIdcardUrlA()
    {
        return idcardUrlA;
    }
    public void setIdcardUrlB(String idcardUrlB)
    {
        this.idcardUrlB = idcardUrlB;
    }

    public String getIdcardUrlB()
    {
        return idcardUrlB;
    }
    public void setPersonalId(Long personalId)
    {
        this.personalId = personalId;
    }

    public Long getPersonalId()
    {
        return personalId;
    }
    public void setCarId(Long carId)
    {
        this.carId = carId;
    }

    public Long getCarId()
    {
        return carId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setBookingNum(String bookingNum)
    {
        this.bookingNum = bookingNum;
    }

    public String getBookingNum()
    {
        return bookingNum;
    }
    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }
    public void setBookingStatus(Long bookingStatus)
    {
        this.bookingStatus = bookingStatus;
    }

    public Long getBookingStatus()
    {
        return bookingStatus;
    }
    public void setCreatedAt(Date createdAt)
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt()
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt)
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt()
    {
        return updatedAt;
    }
    public void setNumStatus(Long numStatus)
    {
        this.numStatus = numStatus;
    }

    public Long getNumStatus()
    {
        return numStatus;
    }
    public void setTakeNum(String takeNum)
    {
        this.takeNum = takeNum;
    }

    public String getTakeNum()
    {
        return takeNum;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("bookingId", getBookingId())
            .append("carNum", getCarNum())
            .append("carType", getCarType())
            .append("foodType", getFoodType())
            .append("arriveDateType", getArriveDateType())
            .append("arriveDate", getArriveDate())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("identityNumber", getIdentityNumber())
            .append("idcardUrlA", getIdcardUrlA())
            .append("idcardUrlB", getIdcardUrlB())
            .append("personalId", getPersonalId())
            .append("carId", getCarId())
            .append("delFlag", getDelFlag())
            .append("bookingNum", getBookingNum())
            .append("status", getStatus())
            .append("bookingStatus", getBookingStatus())
            .append("remark", getRemark())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("numStatus", getNumStatus())
            .append("takeNum", getTakeNum())
            .toString();
    }
}
